package net.zjitc.controller;
import net.zjitc.domain.User;
import net.zjitc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/users")
//要把这个加上捏
public class UserController {
    @Autowired
    private UserService userService;
    @PostMapping
    //@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)；
    public Boolean add(@RequestBody User user){
        return userService.addUser(user);
    }
    @DeleteMapping("/{id}")
    public Boolean delete(@PathVariable Integer id){
        return userService.delete(id);
    }
    //@PathVariable 映射 URL 绑定的占位符
    //通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
    //
    //@PathVariable(“xxx”) 绑定到操作方法的入参中。
    //一般与@RequestMapping(method = RequestMethod.GET)一起使用
    @GetMapping("/{id}")
    public User findById(@PathVariable("id") Integer id) {
        User user;
        try {
            user = userService.findById(id);
        } catch (Exception e) {
            return null;
        }
        return user;
    }
    @PutMapping
    public Boolean update(@RequestBody User user){
        try {
            userService.update(user);
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}
